Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Shanghai Rolex Masters - Shanghai Malaga Challenger Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Wimbledon - London Winston-Salem Open - Winston-Salem U.S. Open - New York Shanghai Rolex Masters - Shanghai Rio Open - Rio de Janeiro Grodzisk Mazowiecki Challenger Australian Open - Melbourne BNP Paribas Open - Indian Wells New Delhi Challenger Miami Open - Miami Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Monte-Carlo Rolex Masters - Monte-Carlo Hamburg Open - Hamburg Wimbledon - London Citi Open - Washington Cincinnati Open - Cincinnati Winston-Salem Open - Winston-Salem Porto 2 Challenger China Open - Beijing France F2 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Serbia F2 France F10 Canada F6 Sweden F4 France F16 France F17 Sweden F6 Sweden F7 Greece F17 Greece F18 Croatia F16 France F1 Israel F1 France F2 Israel F2 France F3 Israel F3 Portugal F2 Great Britain F5 Portugal F3 Great Britain F6 Great Britain F7 Italy F5 Italy F6 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Portugal F7 Iran F12 Iran F13 France F1 France F2 France F3 India F8 India F9 India F10 Turkey F28 Turkey F29 Turkey F30 Tunisia F17 Tunisia F18 Egypt F31 Egypt F32 Greece F7 Greece F8 Tunisia F32 Tunisia F33 France F1 France F2 Israel F1 Israel F2 Egypt F8 Egypt F9 Greece F4 Greece F5 Algeria F1 Portugal F1 Algeria F2 France F10 Macedonia F1 Macedonia F2 Italy F20 Italy F21 Morocco F5 Morocco F6 Croatia F9 Croatia F10 Greece F8 Greece F9 Cyprus F2 Cyprus F3 Israel F17 Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Indonesia F2 (Jakarta) Indonesia F3 (Jakarta) Turkey F9 (Antalya) Turkey F10 (Antalya) Tunisia F13 (Hammamet) Italy F9 (Santa Margherita Di Pula) Italy F10 (Santa Margherita Di Pula) France F10 (Grasse) Poland F3 (Mragowo) Italy F26 Belgium F4 (Lasne) France F16 (Uriage) France F17 (Troyes) Portugal F14 (Porto) Spain F31 (Sabadell) Tunisia F31 (Hammamet) Tunisia F32 (Hammamet) Egypt F34 (Sharm El Sheikh) Egypt F35 (Sharm El Sheikh) Tunisia F8 (Jerba) Turkey F9 (Antalya) France F9 (Grasse) Lebanon F1 (Jounieh) Lebanon F2 (Jounieh) Italy F32 (Santa Margherita Di Pula) Italy F33 (Santa Margherita Di Pula) Tunisia F41 (Monastir) Tunisia F42 (Monastir) Hong Kong F3 (Hong Kong) M25 Hong Kong M25 Tavira M25 Monastir France F24 Portugal F8 France F23 Italy F10 Egypt F7 France F9 Iran F11 Spain F9 (Madrid) Shanghai Challenger Helsinki Challenger Furth Challenger Ilkley Challenger Aptos Challenger Istanbul Challenger Rennes Challenger Bergamo Challenger Jonkoping Challenger Eckental Challenger Greece F3 Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Bratislava Challenger Helsinki Challenger Cordenons Challenger Manerbio Challenger St. Remy Challenger Rome Challenger Mohammedia Challenger Poznan Challenger Dallas Challenger Liberec Challenger Bangkok Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Vicenza Challenger Blois Challenger Rome Challenger Bastad Challenger Banja Luka Challenger Sibiu Challenger Tiburon Challenger Stockton Challenger Bratislava Challenger Irving Challenger St. Brieuc Challenger Tunis Challenger Bordeaux Challenger Prostejov Challenger Lyon Challenger Blois Challenger Scheveningen Challenger Perugia Challenger Tampere Challenger Liberec Challenger Pullach Challenger Meerbusch Challenger Chicago Challenger Cassis Challenger Cary Challenger Biella Challenger Orleans Challenger Eckental Challenger Mouilleron-Le-Captif Challenger Pune Challenger Da Nang Challenger Punta Del Este Challenger Quimper Challenger Budapest Challenger Cherbourg Challenger Phoenix Challenger St. Brieuc Challenger Alicante Challenger San Luis Potosi Challenger Tallahassee Challenger Savannah Challenger Aix En Provence Challenger Shymkent Challenger Milan Challenger Ludwigshafen Challenger Braunschweig Challenger San Benedetto Challenger Prague Challenger Tampere Challenger Istanbul Challenger Glasgow Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Hamburg Challenger Helsinki Challenger Noumea Challenger Nur-Sultan Challenger Prague Challenger Prague II Challenger Cordenons Challenger Parma Challenger Biella Challenger Lisbon Challenger Nur-Sultan 2 Challenger Ostrava Challenger Biella 6 Challenger Lyon Challenger Salzburg-Anif Challenger Braunschweig Challenger Iasi Challenger Tampere Challenger Poznan Challenger St. Tropez Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Barcelona Challenger Napoli 2 Challenger Brest Challenger Bendigo Challenger Quimper Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Pau Challenger Sanremo Challenger Heilbronn Challenger Prague 1 Challenger Lyon Challenger Blois Challenger Vicenza Challenger Lyon Challenger Montechiarugolo - Parma Challenger Cordenons Challenger Vancouver Challenger Tulln Challenger Canberra Challenger Vilnius Challenger Waco Challenger Oeiras 3 Challenger Orleans Challenger Phoenix Challenger Cary Challenger Aix En Provence Challenger Split Challenger Marbella Challenger Ortisei Challenger Lille Challenger Split 1 Challenger Biella 5 Challenger Prague Challenger Biella 7 Challenger Rennes Challenger Istanbul 2 Challenger Roanne Challenger Tampere Challenger Blois Challenger Tiburon Challenger France F4 St. Remy Challenger Lille Challenger Barletta Challenger Bordeaux Challenger Zagreb Challenger Prostejov Challenger Brest Challenger Todi Challenger Trieste Challenger Bangalore Challenger Sassuolo Challenger Toulouse Challenger Braga Challenger Lisbon Challenger Lyon Challenger Campinas Challenger Rio De Janeiro Challenger Brest Challenger Quimper Challenger Helsinki Challenger Andria Challenger Bad Waltersdorf Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Koblenz Challenger Manama Challenger Orleans Challenger Phoenix Challenger Sanremo Challenger Rome Challenger Split Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo Challenger Sassuolo Challenger Mallorca Challenger Cassis Challenger St. Tropez Challenger Alicante Challenger Olbia Challenger Guayaquil Challenger Helsinki Challenger Lima 2 Challenger Montevideo Challenger Valencia Challenger Naples Challenger Ostrava Challenger Oeiras 4 Challenger San Marino Challenger Istanbul Challenger Canberra Challenger Mouilleron-Le-Captif Challenger Roanne Challenger Naples Challenger Kobe Challenger Yokohama Challenger Chennai Challenger Seville Challenger Cap Cana Challenger Perugia Challenger Monza Challenger Braga Challenger Oeiras 5 Challenger Zug Challenger Porto Challenger Poprad Tatry Challenger Matsuyama Challenger Yokkaichi Challenger Szczecin Challenger Rosario Challenger Santiago Challenger Pune Challenger Zadar Challenger Salzburg Challenger Heilbronn Challenger San Marino Challenger Seville Challenger Francavilla Challenger Braunschweig Challenger Manama Challenger Como Challenger Oeiras 3 Challenger Aix En Provence Challenger Mauthausen Challenger Cassis Challenger Lugano Challenger Perugia Challenger Andria Challenger Salzburg Challenger Todi Challenger Tunis Challenger Seoul Challenger Arad Challenger Poznan Challenger Cordenons Challenger Napa Challenger Aix En Provence Challenger Sacramento Challenger Aix En Provence Challenger Eckental Challenger Drummondville Challenger Turin Challenger Caltanissetta Challenger Braunschweig Challenger Vancouver Challenger Izmir Challenger Mons Challenger Brescia Challenger Caltanissetta Challenger Bastad Challenger Biella Challenger Como Challenger Genova Challenger Bordeaux Challenger Lyon Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger If Stockholm Open - Stockholm Mouilleron-Le-Captif Challenger SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Rio Open - Rio de Janeiro Bangalore Challenger Suisse Open - Gstaad Millennium Estoril Open - Estoril Open Parc - Lyon Erste Bank Open - Vienna Rennes Challenger Quimper Challenger Budapest Challenger Cherbourg Challenger Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Abierto Mexicano de Tenis Mifel - Los Cabos Citi Open - Washington Barletta Challenger Moselle Open - Metz Tata Open Maharashtra - Pune Francavilla Challenger Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Aix En Provence Challenger Qatar ExxonMobil Open - Doha Grand Prix Hassan II - Marrakech Terra Wortmann Open - Halle Nordea Open - Bastad Bastad Challenger Open de Nice Cote d'Azur - Nice Open 13 Provence - Marseille Rennes Challenger Pau Challenger Poznan Challenger Maia Challenger Almaty Challenger Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Bratislava Challenger Canberra Challenger Rennes Challenger Iasi Challenger Istanbul Challenger SkiStar Swedish Open - Bastad Cary Challenger Orlando Challenger Nur-Sultan 1 Challenger Biella 4 Challenger Marbella Challenger Gazprom Hungarian Open - Budapest Split 2 Challenger Chengdu Open - Chengdu Rome 1 Challenger Rome 2 Challenger TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Abierto Mexicano - Los Cabos SkiStar Swedish Open - Bastad Cassis Challenger Lisbon Challenger Tenerife Challenger Marbella Challenger Murray River Open - Melbourne Open 13 Provence - Marseille SkiStar Swedish Open - Bastad Aix En Provence Challenger If Stockholm Open - Stockholm Verona Challenger Stockholm Open - Stockholm Kremlin Cup - Moscow San Marino Challenger Astana Open - Nur-Sultan Seville Challenger Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Maia Challenger Open Parc - Lyon Hamburg European Open - Hamburg Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Stockholm Open - Stockholm Open Sud de France - Montpellier Tata Open Maharashtra - Pune Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Abierto Mexicano Telcel - Acapulco Banja Luka Open - Banja Luka Nordea Open - Bastad Open Parc - Lyon Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Astana Open - Astana ASB Classic - Auckland Plava Laguna Croatia Open - Umag Japan Open Tennis Championships - Tokyo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Citi Open - Washington Argentina Open - Buenos Aires Erste Bank Open - Vienna Belgrade Open - Belgrade Hong Kong Tennis Open - Hong Kong Grand Prix Hassan II - Marrakech Abierto Mexicano Telcel - Acapulco Tiriac Open - Bucharest Mallorca Championships - Mallorca Nordea Open - Bastad Korea Open - Seoul Open 13 Provence - Marseille Zhuhai Open - Zhuhai Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Nordea Open - Bastad BNP Paribas Nordic Open - Stockholm BMW Open - Munich If Stockholm Open - Stockholm Swiss Open - Gstaad Intrum Stockholm Open - Stockholm Ecuador Open - Quito Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Open Sud de France - Montpellier Intrum Stockholm Open - Stockholm Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha Gerry Weber Open - Halle Argentina Open - Buenos Aires Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Noventi Open - Halle Nordea Open - Bastad EFG Swiss Open - Gstaad Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Miami Open - Miami Rolex Paris Masters - Paris Rogers Cup - Toronto Miami Open - Miami Miami Open - Miami Miami Open - Miami Truist Atlanta Open - Atlanta BMW Open - Munich Mutua Madrid Open - Madrid National Bank Open - Toronto Western & Southern Open - Cincinnati Lisbon Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris French Open - Paris French Open - Paris Australian Open - Melbourne French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London Wimbledon - London Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris French Open - Paris Wimbledon - London Australian Open - Melbourne Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 Australian Open - Melbourne Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Finals, Group B Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Davis Cup, Group A, Bologna Davis Cup, World Group, PO, SWE-BIH 3-1 U.S. Open - New York U.S. Open - New York French Open - Paris Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, World Group, Q, SWE-BRA 1-3 Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) French Open (juniors) All Lower level tournaments Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, World Group I, 1R, SWE-IND 4-0 Australian Open (juniors)